home *** CD-ROM | disk | FTP | other *** search
/ Gold Fish 1 / GoldFishApril1994_CD2.img / d4xx / d430 / smartfields / docs / include files < prev    next >
Text File  |  1991-01-11  |  8KB  |  223 lines

  1. INCLUDE HEADER FILES
  2.  
  3.  
  4. Four include header files are provided with the SmartFields system.  These
  5. files must be installed in the include directory of your compiler work disk
  6. before you can compile any of the functions.  See the "Getting Started"
  7. section for more details.  The following section discusses in detail the
  8. definitions found in the console include files.  Only the first line of each
  9. block of definitions is listed, so you may wish to have a printout of each
  10. include file handy when reading the following discussion.
  11.  
  12. To speed up compilation, you should add these include files to your pre-
  13. compiled header files.  If you are not using pre-compiled headers, you
  14. should, because the time savings can be anywhere from a few seconds if you
  15. are using a RAM disk to a few minutes if you are compiling off diskettes.
  16.  
  17.  
  18.  
  19. console/console.h
  20. -----------------
  21.  
  22. This include file contains all of the definitions required for the low-level
  23. console functions.
  24.  
  25.     struct ConsoleHeader {
  26.  
  27.         If you are using the console device but not any of the field
  28.         functions for a window, this structure comes in handy because it
  29.         contains all of pointers necessary to access the console functions.
  30.         See the "Structure Definitions" section for more information.
  31.  
  32.     #define INIT_CONSOLE_HEADER NULL,NULL...
  33.  
  34.         Use this definition to pre-initialize all ConsoleHeader structures.
  35.         This sets all pointers to NULL, indicating that none of the devices
  36.         have been opened yet.  This is important in case your program exits
  37.         prematurely.
  38.  
  39.     #define ALT_SPACE_CODE 0xa0
  40.  
  41.         This block contains codes returned by the console device and codes
  42.         used in command sequences output to the console device.
  43.  
  44.     #define CON_CONTROL 1000
  45.  
  46.         This block contains codes returned by the console_input() function to
  47.         indicate which key was pressed by the user.
  48.  
  49.     #define CON_F 3000
  50.     #define CON_SHIFT_F 3010
  51.  
  52.         These two blocks contain the codes returned by the console_input()
  53.         and field_input() functions when the user presses a function key or
  54.         shifted function key.
  55.  
  56.     #define CONSOLE_OPEN_OK 0
  57.  
  58.         This block contains the exit codes returned by the console_open()
  59.         function.  Passing this code to the exit() function will result in
  60.         the message "...failed returncode..." to be displayed in the CLI
  61.         window for programs run from the CLI.  This is a handy debugging
  62.         feature.
  63.  
  64.     #define CONSOLE_ERROR -1L
  65.  
  66.         This definition is used to indicate that either the console device
  67.         has not been opened yet, or that an error occurred while trying to
  68.         open it.
  69.  
  70.     #define CLOSE_CONSOLE(r) CloseDevice(r)
  71.  
  72.         This macro is used just to clarify the purpose of the CloseDevice()
  73.         function contained in the field_close() function.  You may wish to
  74.         use this macro if you manually open and close your devices.
  75.  
  76.     #define FLASH_SCREEN DisplayBeep(0L)
  77.  
  78.         Another clarification macro, this makes porting slightly easier.
  79.  
  80.     #define CONSOLE_BUFFER_SIZE 200
  81.  
  82.         The console buffer should be defined by your calling program to (at
  83.         least) this size.  Note that you can also use this buffer for other
  84.         purposes.
  85.  
  86.     #define TAB_JUMP 4
  87.  
  88.         This is the number of character positions that the cursor jumps when
  89.         the user presses the TAB or shifted-TAB keys.  If you wish, you may
  90.         modify this value before compiling the SmartFields functions.
  91.  
  92.     #define INSERT_TYPE_MODE 1
  93.  
  94.         This block contains the values used to represent the current type
  95.         modes as stored in the TypeMode parameter of the FieldHeader
  96.         structure.  Before compiling any of the SmartFields functions, you
  97.         should set DEFAULT_TYPE_MODE to the desired value.  This is the
  98.         default value upon the startup of any program using SmartFields, and
  99.         is stored in the FieldHeader structure by the field_open() function.
  100.         Note that the type mode may be changed at any time by your calling
  101.         program or by the user.
  102.  
  103.     #define SET_EVENTS '{'
  104.  
  105.         These two definitions are used by the con_events() function.
  106.  
  107.     #define CON_PLAIN 0x0000
  108.  
  109.         Use this block of definitions to initialize your Field structures and
  110.         to change the graphic rendition of a field using the
  111.         con_graphic_rend() function.
  112.  
  113.  
  114.  
  115. console/fields.h
  116. ----------------
  117.  
  118. This include file contains the structures and definitions required by the
  119. field functions in the SmartFields system.
  120.  
  121.     #define MASK_ELEMENTS 8
  122.  
  123.         This is the number of unsigned long integers required to make a 256-
  124.         bit field mask.
  125.  
  126.     #define MASK_ENABLE 0x0001
  127.  
  128.         These two definitions are used by the mask_ functions not only as
  129.         flags whether you want to enable or disable characters in the mask,
  130.         but also to create the masks themselves.
  131.  
  132.     #define MASK_ENTIRE_DISABLED {0,0,0,0,0,0,0,0}
  133.  
  134.         Use these two definitions to pre-initialize every mask that you use.
  135.         Remember that C does not automatically clear all variables and
  136.         structures to zero.
  137.  
  138.     struct FieldMask {
  139.  
  140.         Each field mask must have its own FieldMask structure.  See the
  141.         "Structure Definitions" section for more information.
  142.  
  143.     #define FIELD_ENABLED 1
  144.  
  145.         For upward compatibility, use these two definitions when initializing
  146.         the Field structures to indicate whether the field should be enabled
  147.         or disabled.
  148.  
  149.     #define FIELD_CLIP_SIZE 80
  150.  
  151.         This is the size of the internal clip maintained by the SmartFields
  152.         system.  Since SmartFields does not allow hidden characters at this
  153.         time, the largest possible field in a window using the default Topaz-
  154.         80 font would fit in a field clip of 80 characters.  If you plan on
  155.         using a thinner font of your own, increase this definition before
  156.         compiling.  Note that all of the clip functions check the size of the
  157.         field clip to prevent the overwriting of succeeding locations in
  158.         memory.
  159.  
  160.     struct Field {
  161.  
  162.         Each field in the SmartFields system must have a Field structure.
  163.         See the "Structure Definitions" section for more information.
  164.  
  165.     struct FieldHeader (
  166.  
  167.         Each list of fields must have a FieldHeader structure to access most
  168.         of the field functions.  See the "Structure Definitions" section for
  169.         more information.
  170.  
  171.     #define INIT_FIELD_HEADER NULL,NULL...
  172.  
  173.         Use this definition to pre-initialize all FieldHeader structures.
  174.         This sets all pointers to NULL, indicating that none of the devices
  175.         have been opened yet.  This is important in case your program exits
  176.         prematurely.
  177.  
  178.     #define FIELD_OPEN_OK 0
  179.  
  180.         This block contains the exit codes returned by the field_open()
  181.         function.  Passing this code to the exit() function will result in
  182.         the message "...failed returncode..." for programs executed from the
  183.         CLI.  This is a handy debugging feature.
  184.  
  185.     #define FIELD_FIRST 1000
  186.  
  187.         This block contains codes returned by the field_input() function.
  188.  
  189.     #ifndef strcpy
  190.  
  191.         This block redefines the strcpy() and strlen() functions with the
  192.         _BUILTIN_ prefix.  This causes the code of these two functions to be
  193.         built right into the calling code, resulting in smaller, faster code.
  194.         Remove this block if the current version of your compiler does not
  195.         support this feature.
  196.  
  197.  
  198.  
  199. console/functions.h
  200. -------------------
  201.  
  202. This include file declares all of the SmartFields functions so that you do
  203. not have line your source with declaration statements of your own.  This will
  204. also cause most compilers to warn you if a SmartFields function is not
  205. returning what it is supposed to.
  206.  
  207.  
  208.  
  209. toolkit/toolkit.h
  210. -----------------
  211.  
  212. This include file contains a few #typedef's and #define's.  If you already
  213. have a copy of the toolkit/toolkit.h header file from your Software
  214. Ingenuity's C Toolkit, DO NOT replace it with the version supplied with this
  215. system, for it is only a subset of the version supplied with the C Toolkit.
  216.  
  217.  
  218. Include Files  01/13/90
  219. © Copyright 1990 Timm Martin
  220. All Rights Reserved Worldwide
  221.  
  222. /*-- END --*/
  223.